課程名稱 |
演算法 Algorithms |
開課學期 |
100-2 |
授課對象 |
電機資訊學院 電機工程學系 |
授課教師 |
李建模 |
課號 |
EE4033 |
課程識別碼 |
901 39000 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期五6,7,8(13:20~16:20) |
上課地點 |
電二229 |
備註 |
總人數上限:120人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1002_algorithms |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
This course introduces basic and useful algorithms to solve problems, especially in electrical engineering.
Students are required to have basic programming skill.
Knowledge about data structure is a plus but not required.
|
課程目標 |
Foundations, CH1, CH2 Getting Started
CH3 Growth of Function
CH4 Recurrence
Ch6 Heap Sort
Ch7 Quick Sort
CH10 Data Structure
CH12 Binary Trees, CH13 Red-black Trees
CH15 Dynamic Programming
CH16 Greedy Algorithm
CH17 Amortized Analysis
CH22 Elementary Graph Algo.
Ch23 Minimum Spanning Tree
Ch24, 25 Shortest Paths
Ch27 Maximum Flow
CH34 NP-Completeness
CH35 Approximation Algo.
Review, Additional topics |
課程要求 |
No prerequisite.
Homework 30%
Programming Assignment 20%
Midterm 20%
Final 28%
Participation 2%
|
預期每週課後學習時數 |
|
Office Hours |
每週五 10:00~12:00 |
指定閱讀 |
|
參考書目 |
Cormen, Leiserson, Rivest, Stien, Introduction to Algorithms, 2nd edition, MIT Press, 2001.
|
評量方式 (僅供參考) |
|
週次 |
日期 |
單元主題 |
Week 1 |
|
Course information, Foundations |
Week 2 |
|
Foundations |
Week 3 |
|
Sorting |
Week 4 |
|
sorting |
Week 5 |
|
Data Structures and Trees |
Week 6 |
|
Data Structure and Trees
(demo video) |
Week 7 |
|
Advanced Design: Dynamic programming |
Week 8 |
|
Advanced Design: Greedy algorithm |
Week 9 |
4/20 |
midterm |
Week 10 |
|
Graphs |
Week 11 |
|
Graphs : MST |
Week 12 |
|
Graphs: shortest path
|
Week 13 |
|
Graphs: Max. Flow |
Week 14 |
|
Amortized Analysis; Disjoint Set |
Week 15 |
|
NP Completeness |
Week 16 |
|
multithread/ matrix operation
(updated 06/08) |
Week 17 |
6/15 |
final exam |
Week 18 |
|
contest (TBD) |
|